﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using veterinaria.negocio;

namespace veterinaria.web
{
    public partial class ABMPerro : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                cargarComboRazas();
                cargarDueños();

                if (Session["accion"] != null && "editarMascota".Equals(Session["accion"]))
                {
                    cargarMascotaAEditar();
                }
            }
            //if (Session["accion"]==null)
            //{
            //    Session["accion"] = "nuevaMascota";
            //}
            //else 
            

        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            
            //string accion = Session["accion"].ToString();
            //int? idHist = getIdMascota();
            //string nombre = txtNombre.Text.ToString();
            //int Id_Raza = int.Parse(ddlRaza.SelectedValue.ToString());
            //DateTime fecha = DateTime.Parse(txtFecha.Text.ToString());
            //float peso = float.Parse(txtPeso.Text.ToString());
            //float altura = float.Parse(txtAltura.Text.ToString());
            //int Id_Dueño = int.Parse(ddlDueño.SelectedValue.ToString());

            GestorMascotas.insertar(txtNombre.Text.ToString(), DateTime.Parse(txtFecha.Text.ToString()), int.Parse(ddlRaza.SelectedValue.ToString()), float.Parse(txtPeso.Text.ToString()), float.Parse(txtAltura.Text.ToString()), int.Parse(ddlDueño.SelectedValue.ToString()));
            Response.Redirect("ConsultaPerros.aspx");
        }

          //--------------------------------------//
         //-------- MÉTODOS AUXILIARES ----------//
        //--------------------------------------//


        /// <summary>
        /// Para cargar los combos de razas.
        /// </summary>
        private void cargarComboRazas()
        {

            ddlRaza.DataSource = GestorMascotas.getRazas();
            ddlRaza.DataValueField = "Id_Raza";
            ddlRaza.DataTextField = "Denominacion";
            ddlRaza.DataBind();
        }

        /// <summary>
        /// Para cargar los combos con los nombres de los dueños.
        /// </summary>
        private void cargarDueños()
        {
            ddlDueño.DataSource = GestorMascotas.getDueños();
            ddlDueño.DataValueField = "Id_Dueño";
            ddlDueño.DataTextField = "Apellido";
            ddlDueño.DataBind();
        }

        private void cargarMascotaAEditar()
        {
            Mascota m = (Mascota)Session["mascota"];
            txtNombre.Text = m.Nombre;
            ddlDueño.SelectedValue = m.IdDueño.ToString();
            ddlRaza.SelectedValue = m.IdRaza.ToString();
            txtAltura.Text = m.Altura.ToString();
            txtPeso.Text = m.Peso.ToString();
            txtFecha.Text = m.Fecha.ToString();
        }

        private int getIdMascota()
        {
            if (Session["mascota"] != null)
            {
                Mascota m = (Mascota)Session["mascota"];
                return m.Id_Historia_Clinica;
            }
            else
            {
                //return null;
                return 0;
            }
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            int idHist = getIdMascota();
            string nombre = txtNombre.Text.ToString();
            int Id_Raza = int.Parse(ddlRaza.SelectedValue.ToString());
            DateTime fecha = DateTime.Parse(txtFecha.Text.ToString());
            float peso = float.Parse(txtPeso.Text.ToString());
            float altura = float.Parse(txtAltura.Text.ToString());
            int Id_Dueño = int.Parse(ddlDueño.SelectedValue.ToString());

            GestorMascotas.modificar(nombre, fecha, Id_Raza, peso, altura, Id_Dueño, idHist);
            Response.Redirect("ConsultaPerros.aspx");
        }
    }
}